Cycle Deployment Topology
To ensure optimal utilization of JVM and Coherence resources, customers should deploy a minimum of four Cycle JVMs per cluster, with additional JVMs added as needed based on workload and processing requirements. The Coherence cluster should run across machines with an even distribution of Cycle Agent nodes. Cycle Agents should be deployed using a configuration of two agents per machine.This recommendation is not specific to Cycle itself, but rather relates to effective Coherence cluster management and proper handling of resources within Coherence nodes, particularly with respect to network resource utilization.
Running two Cycle JVMs per machine helps ensure optimal utilization of CPU and memory resources while also reducing network communication between nodes deployed on the same machine. If additional JVMs are running in the environment such as OIPA, AdminConsole, or ServiceLayer they should be deployed on separate machines. This is especially important for PAS (OIPA JVMs), as they also utilize the Coherence cluster and can otherwise introduce resource contention.
Generally dedicated machines must be used to run cycle as batch processing or coherence grid processing tends to steal all the available resources on the server, where it is deployed. Non-coherence components such as AdminConsole, PaletteConfig, Cycle Client can ideally run on the same machine as cycle, as far as machines have enough cpu and memory to sustain all running apps and components.
When deciding on Cluster configuration for Cycle and OIPA (PASJava). Ensure Cycle Coherence Clusters are independent of OIPA Coherence Clusters. The reason for segregating OIPA and Cycle in its own cluster is due to the nature of operations and transactions that are performed by Cycle and OIPA. This segregation of concerns is important to avoid any resource conflicts, starvation and resource stealing between two high computing engines.